        import {forEach} from '../util'
        
        // {
        //     _raw:rootModule,
        //     _children:{},
        //     state:rootModule.state
        // }
        class Module {
            constructor(rawModule){
                this._rawModule=rawModule;
                this._children ={};
                this.state = rawModule.state
            }
            getChild(key){
                return this._children[key]
            }
            addChild(key,module){
                this._children[key] = module 
            }
            forEachMutation(fn) {
                if (this._rawModule.mutations) {
                    forEach(this._rawModule.mutations, fn)
                }
            }
            forEachAction(fn) {
                if (this._rawModule.actions) {
                    forEach(this._rawModule.actions, fn)
                }
            }
            forEachGetter(fn) {
                if (this._rawModule.getters) {
                    forEach(this._rawModule.getters, fn)
                }
            }
            forEachChild(fn) {
                forEach(this._children, fn);
            }
            // 用于表示他自己是否写了namespace 
            get namespaced(){
                return !!this._rawModule.namespaced;
            }
        }
        export default Module;